function print(nums) {
let row = nums.length, col = nums[0].length
let res = [], map = new Map(), arr = []
for(let i = 0; i < row; i++) {
    for(let j = 0; j < col; j++) {
        let key = i + j
        if(map.get(key)) {
            map.get(key).push(nums[j][i])
        }
        else{
            map.set(key, [nums[j][i]])
        }
    }
}
// arr.push(...map.keys())

// for(let i = 0; i < arr.length; i++) {
//     res.push(...map.get(arr[i]))
// }

res.push(...map.values())
res = res.flat(2)
return res
}

console.log(print([[1,2,3,4],[5,6,7,8],[9,10,11,12],[13,14,15,16]]));